home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ Oct 89 / Z0056-Re[2] Undoable lis-Oct89 < prev    next >
Encoding:
Text File  |  1989-10-12  |  2.1 KB  |  48 lines  |  [TEXT/GEOL]

  1. Item    7138381                         12-Oct-89        08:44
  2.  
  3. From:   LINS                            Lins, Chuck
  4.  
  5. To:     D1282                           Power Up,PRT
  6.  
  7. cc:     MACAPP.TECH$                    MACAPP Tech
  8.  
  9. Sub:    Re: Re- Undoable lists
  10.  
  11. James,
  12.  
  13. Yes I know what fanaticism can do to someone - makes them think that their
  14. <whatever their being fanatic about> is better than anyone elses. Yes, I've
  15. read Bertrand Meyer's book and I recommend it. Though I'd also recommend
  16. reading as many of the other books and articles on OOP as well. That way you
  17. see multiple viewpoints. There's still a great deal of discussion (and
  18. research) going on in OOP and the dust hasn't settled yet. But everyone trying
  19. to sell you something is working to convince you that the dust has settled and
  20. their solution(s) is THE one.
  21.  
  22. Personally, I'm not yet convinced of the requirement for multiple inheritance
  23. (MI) in an O-O language. Every example of MI I've seen I can do without MI
  24. using single inheritance and an instance variable of an object. That way I get
  25. complete control over what methods are visible and available to the client.
  26. E.G., if I'm using an array class to implement a set abstraction I would not
  27. want the client having access to the array method's and possibly violating my
  28. abstraction. (The fact that Object Pascal does not allow 'hidden' instance
  29. variables is a problem with the language - not in object-oriented principles).
  30.  
  31. Genericity is a special case of inheritance. Use TObject as a generic class.
  32. Eiffel has the special concept ot genericity because you can't take a TObject
  33. (for example) and convert it to anything else (one of its subclasses). You can
  34. take a subclass of TObject and 'cast' it to a TObject.
  35.  
  36. I think Eiffel is a very interesting object-oriented language, but I don't
  37. consider it the be-all-and-end-all. If I had to choose between C++ and Eiffel
  38. I'd most likely choose Eiffel. But then again, I'd probably choose Object
  39. Oberon over them all [I will not go on a crusade to convince anyone to make the
  40. same choice]. :-)
  41.  
  42.  
  43. Chuck Lins
  44. Apple Computer, Inc.
  45. Disclaimer: The intersection of Apple's ideas and my ideas yields the empty set
  46.  
  47.  
  48.